package com.eastedu.manager;

import com.eastedu.repository.basic.po.BasicResourceFilePO;
import com.eastedu.repository.basic.po.BasicResourceKnowledgePO;
import com.eastedu.repository.basic.po.BasicResourcePO;

import java.util.List;

/**
 * The interface Basic resource manager.
 *
 * @author zhangzhishuai
 */
public interface BasicResourceManager {
    /**
     * Update file json by resource id.
     *
     * @param basicResourceId the basic resource id
     */
    void updateFileJsonByResourceId(String basicResourceId);

    /**
     * Update file json by resource id.
     *
     * @param basicResourceId the basic resource id
     * @param pos             the pos
     */
    void updateFileJsonByResourceId(String basicResourceId, List<BasicResourceFilePO> pos);

    /**
     * Update knowledge json by resource id.
     *
     * @param basicResourceId the basic resource id
     */
    void updateKnowledgeJsonByResourceId(String basicResourceId);

    /**
     * Update knowledge json by resource id.
     *
     * @param basicResourceId the basic resource id
     * @param pos             the pos
     */
    void updateKnowledgeJsonByResourceId(String basicResourceId, List<BasicResourceKnowledgePO> pos);

    /**
     * Update apply user id.
     *
     * @param po                 the po
     * @param newApplyUserId     the new apply user id
     * @param newApplyUserName   the new apply user name
     * @param existedApplyUserId the existed apply user id
     */
    void updateApplyUserId(BasicResourcePO po, Integer newApplyUserId, String newApplyUserName, Integer existedApplyUserId);
}
